package com.lekang.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lekang.common.annotation.Excel;
import com.lekang.common.core.domain.BaseEntity;

/**
 * 待办任务对象 pending_tasks
 * 
 * @author zihao
 * @date 2025-10-18
 */
public class PendingTasks extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 业务id */
    @Excel(name = "业务id")
    private Long bussniessId;

    /** task编号 */
    @Excel(name = "task编号")
    private String taskId;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 类型（1：退住，2：请假，3：入住） */
    @Excel(name = "类型", readConverterExp = "1=：退住，2：请假，3：入住")
    private Long type;

    /** 操作人 */
    @Excel(name = "操作人")
    private String assignee;

    /** 操作人id */
    @Excel(name = "操作人id")
    private Long assigneeId;

    /** 状态（1：申请中，2:已完成，3:已关闭） */
    @Excel(name = "状态", readConverterExp = "1=：申请中，2:已完成，3:已关闭")
    private Long status;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applicationTime;

    /** 申请人 */
    @Excel(name = "申请人")
    private String applicat;

    /** 申请人id */
    @Excel(name = "申请人id")
    private Long applicatId;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishTime;

    /** 是否处理完成（0：未处理，1：已处理） */
    @Excel(name = "是否处理完成", readConverterExp = "0=：未处理，1：已处理")
    private Long isHandle;

    /** 审核步骤（从0开始） */
    @Excel(name = "审核步骤", readConverterExp = "从=0开始")
    private Long stepNo;

    /** 额外字段1 */
    @Excel(name = "额外字段1")
    private String extraField1;

    /** 额外字段2 */
    @Excel(name = "额外字段2")
    private String extraField2;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setBussniessId(Long bussniessId) 
    {
        this.bussniessId = bussniessId;
    }

    public Long getBussniessId() 
    {
        return bussniessId;
    }

    public void setTaskId(String taskId) 
    {
        this.taskId = taskId;
    }

    public String getTaskId() 
    {
        return taskId;
    }

    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }

    public void setType(Long type) 
    {
        this.type = type;
    }

    public Long getType() 
    {
        return type;
    }

    public void setAssignee(String assignee) 
    {
        this.assignee = assignee;
    }

    public String getAssignee() 
    {
        return assignee;
    }

    public void setAssigneeId(Long assigneeId) 
    {
        this.assigneeId = assigneeId;
    }

    public Long getAssigneeId() 
    {
        return assigneeId;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setApplicationTime(Date applicationTime) 
    {
        this.applicationTime = applicationTime;
    }

    public Date getApplicationTime() 
    {
        return applicationTime;
    }

    public void setApplicat(String applicat) 
    {
        this.applicat = applicat;
    }

    public String getApplicat() 
    {
        return applicat;
    }

    public void setApplicatId(Long applicatId) 
    {
        this.applicatId = applicatId;
    }

    public Long getApplicatId() 
    {
        return applicatId;
    }

    public void setFinishTime(Date finishTime) 
    {
        this.finishTime = finishTime;
    }

    public Date getFinishTime() 
    {
        return finishTime;
    }

    public void setIsHandle(Long isHandle) 
    {
        this.isHandle = isHandle;
    }

    public Long getIsHandle() 
    {
        return isHandle;
    }

    public void setStepNo(Long stepNo) 
    {
        this.stepNo = stepNo;
    }

    public Long getStepNo() 
    {
        return stepNo;
    }

    public void setExtraField1(String extraField1) 
    {
        this.extraField1 = extraField1;
    }

    public String getExtraField1() 
    {
        return extraField1;
    }

    public void setExtraField2(String extraField2) 
    {
        this.extraField2 = extraField2;
    }

    public String getExtraField2() 
    {
        return extraField2;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("bussniessId", getBussniessId())
            .append("taskId", getTaskId())
            .append("title", getTitle())
            .append("type", getType())
            .append("assignee", getAssignee())
            .append("assigneeId", getAssigneeId())
            .append("status", getStatus())
            .append("applicationTime", getApplicationTime())
            .append("applicat", getApplicat())
            .append("applicatId", getApplicatId())
            .append("finishTime", getFinishTime())
            .append("isHandle", getIsHandle())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("stepNo", getStepNo())
            .append("extraField1", getExtraField1())
            .append("extraField2", getExtraField2())
            .toString();
    }
}
